package com.zhichat.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zhichat.entity.UserInfoEntity;
import com.zhichat.web.api.PageUtils;
import com.zhichat.web.dto.AdminUserQueryDTO;
import com.zhichat.web.dto.LoginDTO;
import com.zhichat.web.dto.RegisterDTO;
import com.zhichat.web.dto.UserInfoUpdateDTO;
import com.zhichat.web.vo.AdminUserInfoVO;
import com.zhichat.web.vo.LoginVO;
import com.zhichat.web.vo.UserInfoVO;

import java.io.IOException;

/**
 * 用户信息表
 *
 * @author lzq
 * @email lzq@hello.com
 * @date 2024-10-25 21:47:01
 */
public interface UserInfoService extends IService<UserInfoEntity> {

    boolean register(RegisterDTO dto);

    LoginVO login(LoginDTO loginDTO);

    UserInfoVO detail(Long userId);

    UserInfoVO updateUserInfo(UserInfoUpdateDTO dto) throws IOException;

    boolean updatePassword(String oldPassword, String newPassword);

    boolean logout();

    PageUtils<AdminUserInfoVO> userListOfAdmin(AdminUserQueryDTO dto);

    boolean isEnable(Long userId, Integer status);

    boolean forcedOffline(Long userId);

    LoginVO getCurUserInfo();

    String test();
}

